/**
 * Project: Utilities <br>
 * Package: org.leumasjaffe.mathematics.probability
 */
package org.leumasjaffe.math.probability;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
 * Class org.leumasjaffe.mathematics.probability..Distributions in file Distributions.java <br>
 * 
 * @author leumasjaffe
 * @version Jun 18, 2013
 * Created on: Jun 18, 2013
 * 
 */
@NonNullByDefault
public final class Distributions {

	/**
	 * 
	 */
	private Distributions() {
		
	}
	
	public static DiscreteRV Bernoulli(double p) {
		return new BernoulliRV(p);
	}
	
	public static DiscreteRV Binomial(double p) {
		return new BinomialRV(p);
	}
	
	public static DiscreteRV B(double p) {
		return new BinomialRV(p);
	}
	
	public static DiscreteRV NegativeBinomial(int r, double p) {
		return new NegativeBinomialRV(r, p);
	}
	
	public static DiscreteRV NB(int r, double p) {
		return new NegativeBinomialRV(r, p);
	}
	
	public static DiscreteRV Geometric(double p) {
		return new GeometricRV(p);
	}
	
	public static DiscreteRV HyperGeometric(int N, int K, int n) {
		return new HyperGeometricRV(N, K, n);
	}
	
	public static AbstractRV Exponential(double lambda) {
		return new ExponentialRV(lambda);
	}
	
	public static AbstractRV ChiSquared(int k) {
		return new ChiSquaredRV(k);
	}

}
